//package com.ln.service.impl;
//
//import com.ln.dao.DeptDao;
//import com.ln.entity.Dept;
//import com.ln.service.DeptService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.data.redis.core.ValueOperations;
//import org.springframework.stereotype.Service;
//
//import java.util.concurrent.TimeUnit;
//
///**
// * @author Ln
// * @version 终极版
// * @date 2022/12/7 15:24
// */
//@Service
//public class DeptServiceImpl implements DeptService {
//    @Autowired
//    private DeptDao deptDao;
//
//    @Autowired
//    private RedisTemplate<String,Object> redisTemplate;
//
//
//    @Override
//    public Dept findById(int deptno) {
//        ValueOperations<String, Object> forValue = redisTemplate.opsForValue();
//        Object o = forValue.get("dept::" + deptno);
//        if (o!=null){
//            return (Dept) o;
//        }
//        Dept dept = deptDao.selectById(deptno);
//        if (dept!=null){
//            forValue.set("dept::"+deptno,dept,3600, TimeUnit.SECONDS);
//        }
//        return dept;
//    }
//
//    @Override
//    public Dept save(Dept dept) {
//        deptDao.insert(dept);
//        return dept;
//    }
//
//    @Override
//    public int delete(int deptno) {
//        redisTemplate.delete("dept::"+deptno);
//        int i = deptDao.deleteById(deptno);
//        return i;
//    }
//
//    @Override
//    public Dept update(Dept dept) {
//        deptDao.updateById(dept);
//        ValueOperations<String, Object> forValue = redisTemplate.opsForValue();
//        forValue.set("dept::"+dept.getDeptno(),dept,3600,TimeUnit.SECONDS);
//        return dept;
//    }
//}
